/*
 * @lc app=leetcode.cn id=59 lang=java
 *
 * [59] 螺旋矩阵 II
 */

// @lc code=start
class Solution {
    public int[][] generateMatrix(int n) {
        int num=1;
        int res[][]=new int[n][n];
        int start=0;//循环起始点
        int loop=0;
        int i=0,j=0;
        while(loop++<n/2){//循环次数
            //模拟从左往右
            for(j=start;j<n-loop;j++){
                res[start][j]=num++;
            }
            //模拟从上往下
            for(i=start;i<n-loop;i++){
                res[i][j]=num++;
            }
            //模拟从右往左
            for(;j>=loop;j--){
                res[i][j]=num++;
            }
            //模拟从下往上
            for(;i>=loop;i--){
                res[i][j]=num++;
            }
            start++;
        }
        if(n%2!=0){
            res[n/2][n/2]=num;
        }
        return res;

    }
}
// @lc code=end

